Kinetis SDK Demo Applications User Guide
1.0.0-beta
Freescale Semiconductor, Inc.
Main Page
Related Pages
Demos
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
mem_tools.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2013 - 2014, Freescale Semiconductor, Inc.
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without modification,
6
* are permitted provided that the following conditions are met:
7
*
8
* o Redistributions of source code must retain the above copyright notice, this list
9
* of conditions and the following disclaimer.
10
*
11
* o Redistributions in binary form must reproduce the above copyright notice, this
12
* list of conditions and the following disclaimer in the documentation and/or
13
* other materials provided with the distribution.
14
*
15
* o Neither the name of Freescale Semiconductor, Inc. nor the names of its
16
* contributors may be used to endorse or promote products derived from this
17
* software without specific prior written permission.
18
*
19
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
23
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
26
* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
*/
30
31
/*
32
mem_tools.h
33
34
@brief memory allocation functions
35
@func mem_align Returns pointer to aligned dynamically allocated memory (similar to memalign() in GCC)
36
*/
37
38
39
#ifndef __MEM_TOOLS_H__
40
#define __MEM_TOOLS_H__
41
/*******************************************************************************
42
* Standard C Included Files
43
******************************************************************************/
44
#include <stdlib.h>
45
#include <stdint.h>
46
/*******************************************************************************
47
* SDK Included Files
48
******************************************************************************/
49
#include "fsl_os_abstraction.h"
50
/*******************************************************************************
51
* Prototypes
52
******************************************************************************/
53
/*
54
@brief Function to peform aligned data memory allocation. Useful when memalign is not available.
55
@param ptrSize size_t variable to pass size of memory to be allocated
56
@param alignment uint32_t variable to pass byte size to align data with
57
@return pointer to aligned & allocated memory
58
*/
59
void
*
mem_align
(
size_t
ptrSize, uint32_t alignment);
60
61
/*
62
@brief Function to free memory allocated by mem_align
63
@param ptr pointer that has been allocated with mem_align
64
*/
65
void
free_align
(
void
*ptr);
66
67
68
#endif
/* __MEM_TOOLS_H__ */
69
70
/******************************************************************************
71
* EOF
72
******************************************************************************/
free_align
void free_align(void *ptr)
Definition:
mem_tools.c:69
mem_align
void * mem_align(size_t ptrSize, uint32_t alignment)
Definition:
mem_tools.c:38
Fri Mar 28 2014 © 2014 Freescale Semiconductor, Inc. All rights reserved.